.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc.  All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020      Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Type_commit 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Type_commit\fP \- Commits a data type.

.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Type_commit(MPI_Datatype *\fIdatatype\fP)

.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_TYPE_COMMIT(\fIDATATYPE, IERROR\fP)
	INTEGER	\fIDATATYPE, IERROR\fP

.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Type_commit(\fIdatatype\fP, \fIierror\fP)
	TYPE(MPI_Datatype), INTENT(INOUT) :: \fIdatatype\fP
	INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP

.fi
.SH INPUT PARAMETER
.ft R
.TP 1i
datatype
Data type (handle).

.SH OUTPUT PARAMETER
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).

.SH DESCRIPTION
.ft R
The commit operation commits the data type. A data type is the formal description of a communication buffer, not the content of that buffer. After a data type has been committed, it can be repeatedly reused to communicate the changing content of a buffer or, indeed, the content of different buffers, with different starting addresses.
.sp
\fBExample:\fP The following Fortran code fragment gives examples of using MPI_Type_commit.
.sp
.nf
    INTEGER type1, type2
    CALL MPI_TYPE_CONTIGUOUS(5, MPI_REAL, type1, ierr)
                  ! new type object created
    CALL MPI_TYPE_COMMIT(type1, ierr)
                  ! now type1 can be used for communication
.fi
.sp
If the data type specified in \fIdatatype\fP is already committed, it is equivalent to a no-op.

.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.

